配置 HTTPS 的 SSL 证书
SSL 证书
什么是 SSL 证书
SSL 证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为 SSL 服务器证书。SSL 证书就是遵守 SSL 协议,由受信任的数字证书颁发机构 CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
Secure socket layer(SSL)安全协议是由 Netscape Communication 公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于 SSL 技术已建立到所有主要的浏览器和 WEB 服务器程序中,因此,仅需安装服务器证书就可以激活该功能了
SSL 证书通过在客户端浏览器和 Web 服务器之间建立一条 SSL 安全通道,即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。
key 通常指私钥
CSR 是 Certificate Signing Request 的缩写,即证书签名申请,这不是证书,这是要求 CA 给证书签名的一种正是申请,该申请包含申请证书的实体的公钥及该实体店某些信息。该数据将成为证书的一部分。CSR 始终使用它携带的公钥所对应的私钥进行签名。(这个是直接生成的)
CRT 即 certificate的缩写,即证书
SSL 证书的分类
SSL证书又分 域名型SSL证书(DV SSL),企业型SSL证书(OV SSL),增强型SSL证书(EV SSL)
域名型SSL证书(DV SSL):只验证网站域名所有权的简易型SSL证书,此类证书仅能起到网站机密信息加密的作用,无法向用户证明网站的真实身份。适用于个人网站、小型组织或企业网站、各类加密应用(如数据库和即时通讯协议等)。
企业型 SSL 证书(OV SSL):需要验证网站所有单位的真实身份的标准型SSL证书,需要购买者提交组织机构资料和单位授权信等在官方注册的凭证,不仅能起到网站机密信息加密的作用,而且能向用户证明网站的真实身份。所以,推荐在所有电子商务网站使用,因为电子商务需要的是在线信任和在线安全。
增强型 SSL 证书(EV SSL):同样是基于SSL/TLS安全协议,都是用于网站的身份验证和信息在网上的传输加密,但验证流程更加具体详细,验证步骤更多,证书所绑定的网站就更加的可靠,可信,它跟普通SSL证书的区别也是明显的,证书上面会显示更多的信息,不仅仅是网站所属单位信息,还有公司地址等等;部署证书后,用户打开网站时,浏览器地址栏会显示绿色,在地址栏还会显示网站所属单位的名称,特别适合金融、保险、p2p、电商、网上支付等等行业。
| 对比 | 域名型SSL (DVSSL) | 企业型SSL (OVSSL) | 增强型SSL (EVSSL) |
|---|---|---|---|
| 英文名称 | Domain Validation SSL Certificate | Organization Validation SSL Certificate | Extended Validation SSL Certificate |
| 审核内容 | 域名管理权限 | 域名管理权限;企业名称、地址、电话等信息的真实性;域名管理权限; | 企业名称、地址、电话等信息的真实性;第三方数据库审查,例如邓白氏、114查号台、律师证明信等。 |
| 颁发周期 | 几分钟-几小时 | 3-5个工作日 | 5-7个工作日 |
| 赔付保障金 | 10-50万美金 | 50-150万美金 | 150-1750万美金 |
| 浏览器地址栏 | https + 小锁标志 | https + 小锁标志 | https 小锁标志 + 绿色地址栏 + 公司名字直显在浏览器地址栏 |
| 证书详情 | 使用者身份只显示某某域名 | 使用者身份显示公司名称 | 使用者身份显示公司名称 |
| 一般用途 | 个人站点; iOS应用分发下载;登录等单纯 https 加密需求的链接 | 企业网站 | 企业官网、电商、P2P 等互联网金融网站 |
购买地址
-
阿里云:https://common-buy.aliyun.com/?spm=5176.8064714.317898.pricedetail1111.uEwMu6&commodityCode=cas#/buy
-
GoDaddy:https://sg.godaddy.com/zh/web-security/ssl-certificate
可以直接在阿里云里申请免费的 SSL
怎么使用 SSL 就不细说了,大把教程
certbot 去申请免费的证书
安装 certbot
参考资料 快速入门
因为最近发现服务器的图床不使用 https 根本无法在 GitHub这些地方引用,所以乘此机会把全站都升级为 https 一劳永逸
首先在 certbot 里面选择自己的系统

然后按着下面给的命令,先安装这个 snapd 包管理器(有些是自带的)
apt-get install snapd
然后检查它的版本是否是最新的
sudo snap install core; sudo snap refresh core
避免冲突,先删除全部的 certbot 包,没有这个命令就下一步
certbot, sudo dnf remove certbot, or sudo yum remove certbot.
安装这个 certbot
sudo snap install --classic certbot
输入以下命令确保能运行(不报错就可以了)
sudo ln -s /snap/bin/certbot /usr/bin/certbot
继续使用官网的命令
sudo certbot --nginx
运行此命令会自动获取证书,并且 Certbot 会自动编辑 Nginx 配置文件配置 HTTPS 服务。
然后它会让你选择需要部署的哪些子域名(Nginx 上已有的),回车表示全部子域名
最后别忘了
nginx -s reload
如果出现 DNS 错误,可以在这个网站上输入自己的域名 CHECK DNS PROPAGATION 检查一次,然后再重新上面那条命令就好了(可能是 DNS 缓存的问题)
如果出现找不到模块的问题参考这里 :通过 Certbot 安装 Let's Encrypt 证书,来实现全站的 HTTPS 访问
下面是手动申请的过程(上面完成的可以直接跳过手动申请)